package org.dubnation.base.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@AllArgsConstructor
@NoArgsConstructor
@Data
@Component
public class PageInfo<T> {
    private Long total = 0L;  //查询到的数据总条数
    //当前页数据
    /*
    * 先查询数据库中是否有数据，即数据条数是否为零，如果为零，则不必再查询数据，
    * 没有数据，data为空，此处data的数据类型为数组，否则如果没有查询到数据，前端请求到的空值无法渲染页面表格
    * */
    private List<T> data = new ArrayList<>();
    private Map<String, List<DocBucketVo>> aggs; //存储不同字段聚合查询后的桶

    public PageInfo(Long total, List<T> data) {
        this.total = total;
        this.data = data;
    }
}
